import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class traverse {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        list.add(26);
        list.add(22);
        list.add(27);
        list.add(56);
        list.add(21);
        list.add(85);
        list.add(256);
        list.add(158);
        list.add(742);
        list.add(205);
        System.out.println(list);//第一种遍历方式，直接System.out.println(list),将list遍历
        System.out.println("=====================================================");
        for (int i = 0; i < list.size(); i++) {
            Integer a=list.get(i);
            System.out.printf(a+" "); //第二种遍历方式，通过for循环，list.get(i),将其遍历打印，list.get(i)是通过给下标值，打印下标值
                                     //所对应的元素值
        }
        System.out.println();
        System.out.println("=====================================================");
        for (int x:list
             ) {
            System.out.printf(x+" ");
        }//第三种遍历方式，通过foreach循环将list遍历，它是每遍历list中的一个元素就将其打印下来
        System.out.println();
        System.out.println("=====================================================");
        Iterator<Integer> it =list.iterator();
        while (it.hasNext()){
            System.out.printf(it.next()+" ");
        }
        System.out.println();
        System.out.println("=====================================================");
        //通过iterator()迭代器将list遍历,不可以指定位置进行遍历
        ListIterator<Integer> it2 =list.listIterator();
        while (it2.hasNext()){
            System.out.printf(it2.next()+" ");
        }
        System.out.println();
        System.out.println("=====================================================");
        //通过listIterator迭代器将list遍历，可以指定位置来遍历，也可以从后往前指定位置来遍历
        ListIterator<Integer> it3=list.listIterator(3);
        while (it3.hasNext()){
            System.out.printf(it3.next()+" ");
        }
        System.out.println();
        System.out.println("======================================================");
        //指定位置进行遍历(从前往后)
        ListIterator<Integer> it4=list.listIterator(list.size());
        while (it3.hasPrevious()){
            System.out.printf(it3.previous()+" ");
        }
        System.out.println();
        System.out.println("======================================================");
        //指定位置从后往前打印
    }
}
